package packLigaDeFutbol;

import java.util.ArrayList;
import java.util.Calendar;

public class ListaJornadas {
	private ArrayList<Jornada> listaJornadas = new ArrayList<Jornada>();
	
	public ListaJornadas() {
		
	}
	
	public ArrayList<Jornada> getListaJornadas() {
		return listaJornadas;
	}
	
	/**
	 * @author jonatanperez
	 * Insertamos las jornadas en la BD
	 */
	public void inicializar(int idTemporada, int numEquiposParticipantes, Calendar pFechaInicio) {
		int i;
		Jornada jornada;
		for(i = 1; i <= (numEquiposParticipantes-1)*2; i++) {
			jornada = new Jornada(i, pFechaInicio);
			jornada.setIdTemporada(idTemporada);
			int idJornada = GestorJornadas.get().insertarJornadasEnBD(jornada);
			jornada.setID(idJornada);
			this.anadirJornada(jornada);
			pFechaInicio.add(Calendar.DAY_OF_MONTH, 7);
		}
	}
	
	public void anadirJornada(Jornada pJornada) {
		this.getListaJornadas().add(pJornada);
	}

	public Jornada obtenerJornada(int numJornada) {
		return this.getListaJornadas().get(numJornada-1);
	}
	
	public void sortearSegundaVuelta(int pNumEquiposParticipantes) {
		int i, j;
		Partido partido;
		Equipo local, visitante;
		
		//for(i = pNumEquiposParticipantes - 1; i <= (pNumEquiposParticipantes*2)-3; i++) {
		for(i = 0; i < pNumEquiposParticipantes - 1; i++) {
			for(j = 0; j < this.getListaJornadas().get(i).getListaPartidos().getTamano(); j++) {
				partido = this.getListaJornadas().get(i).getListaPartidos().get(j);
				local = partido.getVisitante();
				visitante = partido.getLocal();
				Partido partidoVuelta = new Partido(local,visitante);
				this.getListaJornadas().get(i+(pNumEquiposParticipantes-1)).anadirPartido(partidoVuelta);
			}
		}
	}
	
	public int getTamano() {
		return this.getListaJornadas().size();
	}
}
